Communication networks may employ direct or shared interconnections between entities or nodes in the network. In a direct interconnection, two entities of arbitrary type are directly coupled to one another via a full-duplex medium such as copper, which provides a full-time transmission path in each of the two possible directions in which signals can flow between the entities. As the interconnecting medium is dedicated to the entities, there is no sharing of the transport resource, or contention for its use. In a shared interconnection, two or more entities of arbitrary type are coupled to one another in a logical point-to-multipoint or point-to-point topology via a shared access medium. Examples of shared access media include IEEE 802.3 “Ethernet”, IEEE 802.11 “WiFi”, ITU G.984 GPON, LTE. Systems that employ arbitration of shared access media, including CSMA[/CD], GEM TC, DBA, etc., typically do so on the basis of requests and attempts to access a shared medium, as well as information about the medium itself.
If multiple entities attempt to access a shared transport medium, contention builds, and entities are forced to wait for a “turn” to use the medium, or wait until one of their medium access attempts is successful and does not result in a “collision”. While the transmission subsystem of the entity is waiting for access to the medium, the subsystem generating the data to be transmitted may continue to produce data and pass it to the transmission subsystem. The transmission subsystem will typically attempt to buffer this data, meaning the data is stored in a temporary memory such as a FIFO, until it can be successfully emitted. Once this buffer memory is exhausted, the transmission subsystem will attempt to signal the generation subsystem to pause. Once buffer space is again available, or medium access is available, the transmission subsystem will signal the generation subsystem to resume.
Access to a shared transport medium is typically governed by a Medium Access Controller (MAC). In many multiplexed transmission systems, including downstream flow toward Passive Optical Network (PON) Optical Network Units (ONUs) or toward wireless User Equipment (UE), the MAC has full visibility of traffic offered from a variety of different sources. The MAC selects a packet for transmission from one of a plurality of queues according to criteria provisioned in the MAC.
Upstream access in PON and wireless networks is typically controlled using an alternative mechanism, according to which the offered traffic is not directly visible to the MAC. The MAC grants access to one of a plurality of contending traffic sources based on one or more criteria. The simplest algorithm is a periodic grant of equal size to each of the contending traffic sources. This algorithm is appropriate for certain kinds of traffic, including for example voice traffic, which is characterized by low, known bandwidth and intolerance to delay variations. It will be appreciated, however, that it would be unsatisfactory to use such an algorithm for the entirety of the capacity of a transmission link. Sources that had no traffic at a particular instant would waste their grant allocations, while sources with large bursts of traffic would be throttled by the limited size of their grants and be unable to take advantage of the capacity not being used by temporarily idle sources. Consequently, MAC grant algorithms are typically augmented by polling the traffic sources, and granting access to the traffic medium on the basis of poll results. A poll result may be as simple as an indication that traffic is queued at the traffic source, waiting to be transmitted, or as complex as a set of priorities and the amount of traffic queued at each priority. A poll need not be a distinct transaction; a poll report may be transmitted as a piggy-backed part of a traffic transmission.
On receipt of a set of poll results from its various traffic sources, or clients, a MAC is in a position to allocate transmission capacity more efficiently, taking into account relative priorities and backlog to the extent that such information is available. Allocations of transmission capacity are called grants, and represent permission for a particular traffic source to use the medium, typically at some particular instant for a particular amount of traffic, and possibly for distinct traffic priority classes. It will be appreciated that grant computation naturally falls into a pipeline model, during the first phase of which information about traffic demands are accumulated. During the second phase of grant computation a map of subsequent allocations is computed, referred to as a grant map. During the third phase of grant computation the grant map is executed. Each phase is executed in consecutive time periods, with phases in real world systems typically consuming between 1 and 10 ms.
While improving on the simplest periodic grant algorithms, poll result based algorithms are still naturally executed on a periodic basis, using poll results obtained during a prior period, and generating resulting grants for use during the subsequent period. There is thus an intrinsic delay related to the grant mechanism itself, and traffic may continue to arrive at a traffic source between the sending of its poll result and the receipt of a grant. To some extent, grant delay may be mitigated with small continuing background grants to all traffic sources, but peak or bursty traffic must still want for a larger grant. A traffic source must therefore be able to queue enough traffic to avoid packet loss in the presence of normal congestion and grant delay. The additional memory requirement to support this buffering increases the cost, physical size and power consumption of the traffic source.
In many practical network scenarios, it may be unavoidable or advantageous to deploy configurations that directly or indirectly connect in series two or more transmission media, access to each of which is shared according to poll based grant algorithms as described above. In existing arrangements, each combination of MAC apparatus and its plurality of traffic sources operates independently from other such combinations with which they may be connected. This situation is illustrated in FIG. 1, which shows a network scenario 2 including a first such combination, labelled as MAC domain 1, and a second such combination, labelled as MAC domain 2. The traffic of interest in the figures flows from right to left, from the host, through MAC domain 1 to MAC domain 2. As described above, traffic originating in a subtending host is queued at its medium 1 client 4. MAC 1 polls for queued traffic across its subtending medium 1 clients 4, 6, 8 etc, and in the course of its normal operation, grants permission for the particular medium 1 client 4 to transmit part or all of its backlog. This traffic, along with other traffic received according to grants to other medium 1 clients 6, 8 etc, is forwarded from MAC 1 to a medium 2 client 10 where it is queued. The above process is then repeated in MAC 2, which polls its medium 2 clients 10, 12, 14 etc and grants permission to transmit on medium 2.
Each MAC domain illustrated in FIG. 1 operates independently, meaning that one MAC may be passing traffic from a particular host, while the other MAC is blocking such traffic because it is passing traffic from another source. If the transmission system (MAC domain) adjacent the originating system for the traffic is blocking at a given moment, and the next (or any) transmission system in series between the originating system and the termination point is passing traffic, no traffic will flow, as the first transmission segment has no data to couple to the second transmission segment, assuming there is no buffered data at the second system. If the transmission system (MAC domain) adjacent the originating system for the traffic is passing at a given moment, and a transmission system in series between the originating system and the termination point is blocking traffic, any traffic that does flow must stop and be buffered between transmission segments, and/or the system originating the data must be signalled to suspend transmissions.
Independent operation of series connected MAC domains can thus result in excessive and inconsistent impairments to traffic, including jitter, latency and dropped packets, which in turn cause a reduction in performance and quality of service experienced by the end user. In addition, requirements for increased buffer size within various segments and/or transit points between data source and destination of the data increase cost and complexity of the components. In some situations, buffer requirements may be greater than can be supported by the physical resources available, causing significant impact to overall transmission performance and network product viability.